<!DOCTYPE html><html><head>
<title>zipfile::encode - Zip archive handling</title>
<style type="text/css"><!--
    HTML {
	background: 	#FFFFFF;
	color: 		black;
    }
    BODY {
	background: 	#FFFFFF;
	color:	 	black;
    }
    DIV.doctools {
	margin-left:	10%;
	margin-right:	10%;
    }
    DIV.doctools H1,DIV.doctools H2 {
	margin-left:	-5%;
    }
    H1, H2, H3, H4 {
	margin-top: 	1em;
	font-family:	sans-serif;
	font-size:	large;
	color:		#005A9C;
	background: 	transparent;
	text-align:		left;
    }
    H1.doctools_title {
	text-align: center;
    }
    UL,OL {
	margin-right: 0em;
	margin-top: 3pt;
	margin-bottom: 3pt;
    }
    UL LI {
	list-style: disc;
    }
    OL LI {
	list-style: decimal;
    }
    DT {
	padding-top: 	1ex;
    }
    UL.doctools_toc,UL.doctools_toc UL, UL.doctools_toc UL UL {
	font:		normal 12pt/14pt sans-serif;
	list-style:	none;
    }
    LI.doctools_section, LI.doctools_subsection {
	list-style: 	none;
	margin-left: 	0em;
	text-indent:	0em;
	padding: 	0em;
    }
    PRE {
	display: 	block;
	font-family:	monospace;
	white-space:	pre;
	margin:		0%;
	padding-top:	0.5ex;
	padding-bottom:	0.5ex;
	padding-left:	1ex;
	padding-right:	1ex;
	width:		100%;
    }
    PRE.doctools_example {
	color: 		black;
	background: 	#f5dcb3;
	border:		1px solid black;
    }
    UL.doctools_requirements LI, UL.doctools_syntax LI {
	list-style: 	none;
	margin-left: 	0em;
	text-indent:	0em;
	padding:	0em;
    }
    DIV.doctools_synopsis {
	color: 		black;
	background: 	#80ffff;
	border:		1px solid black;
	font-family:	serif;
	margin-top: 	1em;
	margin-bottom: 	1em;
    }
    UL.doctools_syntax {
	margin-top: 	1em;
	border-top:	1px solid black;
    }
    UL.doctools_requirements {
	margin-bottom: 	1em;
	border-bottom:	1px solid black;
    }
--></style>
</head>
<!-- Generated from file 'encode.man' by tcllib/doctools with format 'html'
   -->
<!-- Copyright &amp;copy; 2008-2009 Andreas Kupries
   -->
<!-- zipfile::encode.n
   -->
<body><hr> [
   <a href="../../../../../../../../home">Tcllib Home</a>
&#124; <a href="../../../../toc.html">Main Table Of Contents</a>
&#124; <a href="../../../toc.html">Table Of Contents</a>
&#124; <a href="../../../../index.html">Keyword Index</a>
&#124; <a href="../../../../toc0.html">Categories</a>
&#124; <a href="../../../../toc1.html">Modules</a>
&#124; <a href="../../../../toc2.html">Applications</a>
 ] <hr>
<div class="doctools">
<h1 class="doctools_title">zipfile::encode(n) 0.4 tcllib &quot;Zip archive handling&quot;</h1>
<div id="name" class="doctools_section"><h2><a name="name">Name</a></h2>
<p>zipfile::encode - Generation of zip archives</p>
</div>
<div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2>
<ul class="doctools_toc">
<li class="doctools_section"><a href="#toc">Table Of Contents</a></li>
<li class="doctools_section"><a href="#synopsis">Synopsis</a></li>
<li class="doctools_section"><a href="#section1">Description</a></li>
<li class="doctools_section"><a href="#section2">Class API</a></li>
<li class="doctools_section"><a href="#section3">Instance API</a></li>
<li class="doctools_section"><a href="#section4">Bugs, Ideas, Feedback</a></li>
<li class="doctools_section"><a href="#keywords">Keywords</a></li>
<li class="doctools_section"><a href="#category">Category</a></li>
<li class="doctools_section"><a href="#copyright">Copyright</a></li>
</ul>
</div>
<div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2>
<div class="doctools_synopsis">
<ul class="doctools_requirements">
<li>package require <b class="pkgname">Tcl 8.4</b></li>
<li>package require <b class="pkgname">logger</b></li>
<li>package require <b class="pkgname">Trf</b></li>
<li>package require <b class="pkgname">crc32</b></li>
<li>package require <b class="pkgname">snit</b></li>
<li>package require <b class="pkgname">zlibtcl</b></li>
<li>package require <b class="pkgname">fileutil</b></li>
<li>package require <b class="pkgname">zipfile::encode <span class="opt">?0.4?</span></b></li>
</ul>
<ul class="doctools_syntax">
<li><a href="#1"><b class="cmd">::zipfile::encode</b> <span class="opt">?<i class="arg">objectName</i>?</span></a></li>
<li><a href="#2"><b class="cmd">&lt;encoder&gt;</b> <b class="method">comment:</b> <i class="arg">text</i></a></li>
<li><a href="#3"><b class="cmd">&lt;encoder&gt;</b> <b class="method">file:</b> <i class="arg">dst</i> <i class="arg">owned</i> <i class="arg">src</i> <span class="opt">?<i class="arg">noCompress</i>?</span></a></li>
<li><a href="#4"><b class="cmd">&lt;encoder&gt;</b> <b class="method">write</b> <i class="arg">archive</i></a></li>
</ul>
</div>
</div>
<div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2>
<p>This package provides a class for the generation of zip archives.</p>
</div>
<div id="section2" class="doctools_section"><h2><a name="section2">Class API</a></h2>
<dl class="doctools_definitions">
<dt><a name="1"><b class="cmd">::zipfile::encode</b> <span class="opt">?<i class="arg">objectName</i>?</span></a></dt>
<dd><p>The class command constructs encoder instances, i.e. objects. The
result of the command is the fully-qualified name of the instance
command.</p>
<p>If no <i class="arg">objectName</i> is specified the class will generate and use an
automatic name. If the <i class="arg">objectName</i> was specified, but is not
fully qualified the command will be created in the current namespace.</p></dd>
</dl>
</div>
<div id="section3" class="doctools_section"><h2><a name="section3">Instance API</a></h2>
<dl class="doctools_definitions">
<dt><a name="2"><b class="cmd">&lt;encoder&gt;</b> <b class="method">comment:</b> <i class="arg">text</i></a></dt>
<dd><p>This method specifies the text of the global comment for the archive.
The result of the method is the empty string.
In case of multiple calls to this method for the same encoder the data
from the last call prevails over all previous texts.</p></dd>
<dt><a name="3"><b class="cmd">&lt;encoder&gt;</b> <b class="method">file:</b> <i class="arg">dst</i> <i class="arg">owned</i> <i class="arg">src</i> <span class="opt">?<i class="arg">noCompress</i>?</span></a></dt>
<dd><p>This method adds a new file to the archive.
The contents of the file are found in the filesystem at <i class="arg">src</i>, and
will be stored in the archive under path <i class="arg">dst</i>.
If the file is declared as <i class="arg">owned</i> by the archive the original
file will be deleted when the archive is constructed and written.
If <i class="arg">noCompress</i> is set to <b class="const">true</b> the file will not be
compressed on writing. Otherwise (the default) the file is compressed
if it is advantageous.
The result of the method is an empty string.</p></dd>
<dt><a name="4"><b class="cmd">&lt;encoder&gt;</b> <b class="method">write</b> <i class="arg">archive</i></a></dt>
<dd><p>This method takes the global comment and all added files, encodes them
as a zip archive and stores the result at path <i class="arg">archive</i> in the
filesystem.
All added files which were owned by the archive are deleted at this
point.
On the issue of ordering, the files are added to the archive in the
same order as they were specified via <b class="method">file:</b>. <em>Note</em> that
this behaviour is new for version 0.4 and higher. Before 0.4 no
specific order was documented. It was lexicographically sorted. The
change was made to support <b class="cmd"><a href="../../../../index.html#zip">zip</a></b>-based file formats which require
a specific order of files in the archive, for example &quot;<b class="file">.epub</b>&quot;.</p></dd>
</dl>
</div>
<div id="section4" class="doctools_section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2>
<p>This document, and the package it describes, will undoubtedly contain
bugs and other problems.
Please report such in the category <em>zipfile</em> of the
<a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>.
Please also report any ideas for enhancements you may have for either
package and/or documentation.</p>
<p>When proposing code changes, please provide <em>unified diffs</em>,
i.e the output of <b class="const">diff -u</b>.</p>
<p>Note further that <em>attachments</em> are strongly preferred over
inlined patches. Attachments can be made by going to the <b class="const">Edit</b>
form of the ticket immediately after its creation, and then using the
left-most button in the secondary navigation bar.</p>
</div>
<div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2>
<p><a href="../../../../index.html#compression">compression</a>, <a href="../../../../index.html#zip">zip</a></p>
</div>
<div id="category" class="doctools_section"><h2><a name="category">Category</a></h2>
<p>File</p>
</div>
<div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2>
<p>Copyright &copy; 2008-2009 Andreas Kupries</p>
</div>
</div></body></html>
